package de.bht.fb6.mobisand.avoidlist.persistence.rest;
import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import de.bht.fb6.mobisand.avoidlist.model.ToAvoid;

/**
 * CRUD Schnittstelle für ToAvoids mit Hilfe von restEasy & JAX-RS.
 * Dieses Interface dient nur der Kommunikation mit dem Server.
 * Es muss in der Applikation keine Implementation davon erfolgen.
 *  
 * @author Mario Dörwald, Bruno Kirschner
 * @since 11. Dez 2012
 */
@Path("/toAvoid")
@Consumes({"application/json"})
@Produces({"application/json"})
public interface IToAvoidRESTAccessor {

	@GET
	public List<ToAvoid> readAll();
	
	@GET
	@Path("/{toAvoidID}")
	public ToAvoid read(@PathParam("ToAvoidID")final long toAvoidID);
	
	@POST
	public ToAvoid create(final ToAvoid item);
	
	@DELETE
	@Path("/{toAvoidID}")
	public boolean delete(@PathParam("toAvoidID") long toAvoidID);
	
	@PUT
	public ToAvoid update(final ToAvoid item);
}

